package com.CST.vo.ys;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;

/**
 * @author qtx
 * @since 2023/5/28
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class YsBudgetResultsVO {

    @ExcelIgnore
    private Integer subjectId;

    @ExcelProperty("类别")
    @ApiModelProperty("类别")
    private String category;

    @ExcelIgnore
    @ApiModelProperty("类别Id")
    private Integer categoryId;

    @ExcelProperty("预算科目名称")
    @ApiModelProperty("预算科目名称")
    private String subjectName;

    @ExcelIgnore
    private String deptIds;

    @ExcelProperty("预算部门名称")
    @ApiModelProperty("预算部门名称")
    private String deptNames;

    @ExcelProperty({"预算下达", "三香（元）"})
    @ApiModelProperty("预算下达三香（元）")
    private BigDecimal xSan;

    @ExcelProperty({"预算下达", "浒关（元）"})
    @ApiModelProperty("预算下达浒关（元）")
    private BigDecimal xXu;

    @ExcelProperty({"预算下达", "合计（元）"})
    @ApiModelProperty("预算下达合计（元）")
    private BigDecimal xAll;

    @ExcelProperty({"预算执行", "三香（元）"})
    @ApiModelProperty("预算执行三香（元）")
    private BigDecimal zSan;

    @ExcelProperty({"预算执行", "浒关（元）"})
    @ApiModelProperty("预算执行浒关（元）")
    private BigDecimal zXu;

    @ExcelProperty({"预算执行", "合计（元）"})
    @ApiModelProperty("预算执行合计（元）")
    private BigDecimal zAll;

    @ExcelProperty({"预算执行率", "三香（%）"})
    @ApiModelProperty("预算执行率三香（%）")
    private BigDecimal sanM;

    @ExcelProperty({"预算执行率", "浒关（%）"})
    @ApiModelProperty("预算执行率浒关（%）")
    private BigDecimal xuM;

    @ExcelProperty({"预算执行率", "合计（%）"})
    @ApiModelProperty("预算执行率合计（%）")
    private BigDecimal allM;

    @ExcelProperty({"全年预算执行率", "三香（%）"})
    @ApiModelProperty("全年预算执行率三香（%）")
    private BigDecimal sanY;

    @ExcelProperty({"全年预算执行率", "浒关（%）"})
    @ApiModelProperty("全年预算执行率浒关（%）")
    private BigDecimal xuY;

    @ExcelProperty({"全年预算执行率", "合计（%）"})
    @ApiModelProperty("全年预算执行率合计（%）")
    private BigDecimal allY;

    @ExcelProperty({"预算执行总率", "三香（%）"})
    @ApiModelProperty("预算执行总率三香（%）")
    private BigDecimal sanTotalRate;

    @ExcelProperty({"预算执行总率", "浒关（%）"})
    @ApiModelProperty("全年预算执行率浒关（%）")
    private BigDecimal xuTotalRate;

    @ExcelProperty({"预算执行总率", "合计（%）"})
    @ApiModelProperty("预算执行总率合计（%）")
    private BigDecimal allTotalRate;


    @ExcelProperty("执行误差率考核得分")
    @ApiModelProperty("执行误差率考核得分")
    private String divide;

    @ExcelProperty("执行误差率考核得分")
    @ApiModelProperty("执行误差率考核得分总分")
    private BigDecimal divideAll;

    @ExcelProperty("预算类别")
    @ApiModelProperty("预算类别")
    private String budgetCategory;

    @ExcelIgnore
    @ApiModelProperty("预算执行率 flag：0 正常显示; flag:1 显示'#'")
    private Integer sanMFlag;

    @ExcelIgnore
    @ApiModelProperty("预算执行率 flag：0 正常显示; flag:1 显示'#'")
    private Integer xuMFlag;

    @ExcelIgnore
    @ApiModelProperty("预算执行率 flag：0 正常显示; flag:1 显示'#'")
    private Integer allMFlag;

    @ExcelIgnore
    @ApiModelProperty("预算总执行率 flag：0 正常显示; flag:1 显示'#'")
    private Integer sanYFlag;

    @ExcelIgnore
    @ApiModelProperty("预算总执行率 flag：0 正常显示; flag:1 显示'#'")
    private Integer xuYFlag;

    @ExcelIgnore
    @ApiModelProperty("预算总执行率 flag：0 正常显示; flag:1 显示'#'")
    private Integer allYFlag;

    @ExcelIgnore
    @ApiModelProperty("三香预算总执行率 flag：0 正常显示; flag:1 显示'#'")
    private Integer sanTotalRateFlag;

    @ExcelIgnore
    @ApiModelProperty("浒关预算总执行率 flag：0 正常显示; flag:1 显示'#'")
    private Integer xuTotalRateFlag;

    @ExcelIgnore
    @ApiModelProperty("合计预算总执行率 flag：0 正常显示; flag:1 显示'#'")
    private Integer allTotalRateFlag;

    /**
     * 全年预算下达
     */
    @ExcelIgnore
    private BigDecimal san134;

    @ExcelIgnore
    private BigDecimal xu134;

    @ExcelIgnore
    private BigDecimal all134;

    /**
     * 全年预算执行
     */
    @ExcelIgnore
    private BigDecimal sanYear;

    @ExcelIgnore
    private BigDecimal xuYear;

    @ExcelIgnore
    private BigDecimal allYear;

}
